package com.billionsfinance.crs.utils;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.aeonbits.owner.Config;

/**
 * @Description:
 * @FileName: SystemConfig.java
 * @author :WeiHui.Zhang
 * @Date: 2016年6月6日 下午8:07:57
 * @Version:V1.00
 */
@Config.Sources("classpath:config.properties")
public interface SystemConfig extends Config {

	/**
	 * 模板路径
	 */
	String TEMPLATE_PATH = SystemConfig.class.getResource("/").getFile() + "/template";

	/**
	 * 创建时间
	 */
	String createdTime = new SimpleDateFormat("yyyy-MM-dd hh:MM:ss").format(new Date());

	/**
	 * 创建人
	 */
	@Key("${env}.author")
	@DefaultValue("hong.wei")
	String createdName();

	@Key("${env}.defaultOutPath")
	@DefaultValue("d:/module/")
	String defaultOutPath();

	@Key("${env}.moduleOutPath")
	@DefaultValue("d:/module/")
	String moduleOutPath();

	@Key("${env}.daoOutPath")
	@DefaultValue("d:/module/")
	String daoOutPath();

	@Key("${env}.serviceOutPath")
	@DefaultValue("d:/module/")
	String serviceOutPath();

	@Key("${env}.serverOutPath")
	@DefaultValue("d:/module/")
	String serverOutPath();

	@Key("${env}.mapperOutPath")
	@DefaultValue("d:/module/")
	String mapperOutPath();

	@Key("${env}.controllerOutPath")
	@DefaultValue("d:/module/")
	String controllerOutPath();

	@Key("${env}.serverImplOutPath")
	@DefaultValue("d:/module/")
	String serverImplOutPath();

	@Key("${env}.serviceImplOutPath")
	@DefaultValue("d:/module/")
	String serviceImplOutPath();
	
    /**
     * 可以通过env参数实现不同开发环境的隔离
     *
     * @return
     */
    @Key("env")
    @DefaultValue("uat")
    String env();
}
